package com.bstek.mes.emp;

import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.data.provider.Page;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.Collection;
import java.util.Map;

/**
 * 员工维护服务类
 * @author hans
 * @company www.bstek.com
 *
 */
@Controller(EmpMaintain.BEAN_ID)
public class EmpMaintain{

	public static final String BEAN_ID="test.empMaintain";
	
	@Resource
	private EmpDao empDao;
	
	/**
	 * 分页查询员工
	 * @author hans
	 * @param page
	 * @param parameter
	 */
	@DataProvider
	public void getAllEmp(Page<Employee> page, Map<String, Object> parameter){
		this.empDao.queryEmp(page, parameter);
	}
	/**
	 * 保存员工
	 * @author hans
	 * @param coll
	 */
	@DataResolver
	@Transactional
	public void saveEmp(Collection<Employee> coll){
		this.empDao.saveEmp(coll);
	}
	
	@DataResolver
	@Transactional
	public void save(Collection<Map<String,Object>> coll){
		//两级的数据结构，第一级是机构，Map；第二级是对应的员工，是Employee实体
		for(Map<String,Object> m:coll){
			//m=机构
			
			
			//该机构对应的员工集合
			Collection<Employee> emps=(Collection<Employee>) m.get("emps");
			for(Employee e:emps){
				this.empDao.save(e);//保存员工
			}
			
		}
	}
	
}
